lbmpy: Automatic code generation for efficient parallel lattice Boltzmann methods
نویسندگان
چکیده
Lattice Boltzmann methods are a popular mesoscopic alternative to classical computational fluid dynamics based on the macroscopic equations of continuum mechanics. Many variants lattice have been developed that vary in complexity, accuracy, and cost. Extensions available simulate multi-phase, multi-component, turbulent, non-Newtonian flows. In this work we present lbmpy, code generation package supports wide variety different methods. Additionally, lbmpy provides generic development environment for new schemes. A high-level domain-specific language allows user formulate, extend test various all cases, method can be specified symbolic form. Transformations operate representation yield highly efficient compute kernels. This is achieved by automatically parallelizing methods, application-specific automatized steps optimize resulting code. pipeline transformations applied range variants, including single- two-relaxation-time schemes, multi-relaxation-time as well more advanced cumulant entropically stabilized integrated into high-performance computing frameworks enable massively parallel, distributed simulations. demonstrated using waLBerla multiphysics conduct scaling experiments SuperMUC-NG supercomputing system up 147 456 cores.
منابع مشابه
Parallel Lattice Boltzmann Methods for CFD Applications
The lattice Boltzmann method (LBM) has evolved to a promising alternative to the well-established methods based on finite elements/volumes for computational fluid dynamics simulations. Ease of implementation, extensibility, and computational efficiency are the major reasons for LBM’s growing field of application and increasing popularity. In this paper we give a brief introduction to the involv...
متن کاملEfficient automatic code generation for embedded systems
Developing a safety critical real-time application raises high challenge: “failure is not an option”. The code has to be readable, reliable and efficient. For doing so, VERILOG has developed an environment based on formal approach. This is the only way to be in a position to prove that the code is doing what it is supposed to do, always.
متن کاملEntropic Lattice Boltzmann Methods
We present a general methodology for constructing lattice Boltzmann models of hydrodynamics with certain desired features of statistical physics and kinetic theory. We show how a methodology of linear programming theory, known as Fourier-Motzkin elimination, provides an important tool for visualizing the state space of lattice Boltzmann algorithms that conserve a given set of moments of the dis...
متن کاملAutomatic Generation of Efficient Adjoint Code for the Parallel MIT General Circulation Model
In one of the most complex Earth science inverse modeling initiatives, the Estimation of the Circulation and Climate of the Ocean (ECCO) project is developing greatly improved estimates of the three-dimensional, time-evolving state of the global oceans [1, 2]. To this end, the project is applying extimation/optimal control techniques to constrain a state-of-the-art parallel general circulation ...
متن کاملAutomatic Generation of Parallel Code for Hessian Computations
Given a program to compute some function, automatic differentiation can be used to mechanically generate another program capable of evaluating firstand higher-order derivatives of that function. A new strategy for the computation of Hessians by automatic differentiation is proposed where the generated code is automatically parallelized using OpenMP. The approach is applied to compute second-ord...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
ژورنال
عنوان ژورنال: Journal of Computational Science
سال: 2021
ISSN: ['1877-7511', '1877-7503']
DOI: https://doi.org/10.1016/j.jocs.2020.101269